package com.word.model.handler;

import com.alibaba.fastjson.JSONObject;
import com.word.entity.PrivilegeFeeModel;
import com.word.model.ModelType;
import com.word.util.WordUtil;
import org.springframework.stereotype.Component;

import java.util.*;

/**
 * 技术服务合同
 * @author 张春兰
 */
@Component
public class Model1Handler implements ModelType {

    List<String> items = Arrays.asList("费用总额","合同交易额","技术交易额","签订时间","合同有效时间","许可方或转让方","被许可方或受让方", "支付方式",
            "技术服务的内容","技术服务的方式","技术服务质量要求","保密内容","技术背景资料","可行性论证报告","技术评价报告","技术标准和规范","原始设计和工艺文件");

    Map<String,String> keys = new HashMap<String,String>(){{
        put("费用总额","费 and 总额");
        put("合同交易额","合同交易额");
        put("技术交易额","技术交易额");
        put("签订时间","签订");
        put("合同有效时间","有效");
        put("许可方或转让方","受托方");
        put("被许可方或受让方","委托方");
        put("支付方式","费 and (一次 or 分期) and 支付");
        put("技术服务的内容","技术服务 and 内容");
        put("技术服务的方式","技术服务 and 方式");
        put("技术服务质量要求","技术服务 and 质量要求");
        put("保密内容","保密内容");
        put("技术背景资料","背景 and 资料");
        put("可行性论证报告","可行性 and 报告");
        put("技术评价报告","评价 and 报告");
        put("技术标准和规范","技术 and (标准 or 规范)");
        put("原始设计和工艺文件","(设计 or 工艺) and 文件");
    }};

    @Override
    public PrivilegeFeeModel getPrivilegeFeeMessage(String content) {
        PrivilegeFeeModel model = new PrivilegeFeeModel();
        List<JSONObject> other = new ArrayList<>();
        for(String item:items){
            List<String> itemResult = WordUtil.getKeyContent(content,keys.get(item));
            if(itemResult.size() > 0){
                String[] valueList = itemResult.get(0).split("：");
                if(valueList.length > 1){
                    if("费用总额".equals(item)){
                        model.setTotal(valueList[1]);
                    } else if ("签订时间".equals(item)) {
                        model.setSignDate(valueList[1]);
                    } else if ("合同有效时间".equals(item)) {
                        model.setEffectiveDate(valueList[1]);
                    } else if ("许可方或转让方".equals(item)) {
                        model.setLicensor(valueList[1]);
                    } else if ("被许可方或受让方".equals(item)) {
                        model.setLicensee(valueList[1]);
                    } else if ("支付方式".equals(item)) {
                        model.setPayMethod(valueList[1]);
                    } else {

                    }
                }

            }
        }
        return model;
    }
}
